In recent years it has become increasing popular to link computer workstations together, for example in local area networks (LANs) or by Integrated Services Digital Network (ISDN) connections, in order to allow the computer workstations to exchange data. This has given rise to a new field of computer technology, often referred to generically as collaborative working. Two particular examples of collaborative working are application sharing, and remote control. In the former, an application runs at two machines, with updates made to the application at either machine being transmitted to and mirrored on the other machine. Clearly this technique can be extended to more than two machines. In remote control, applications running at one machine are effectively controlled by a user at another machine. Examples of collaborative working systems can be found in EPA 475581 and WO 89/12859.
One problem in collaborative working can be the slow reponse time, due to the need to transmit data over a communications link. This can be particular frustrating for example in remote control, when a user of the local machine performs some action, such as clicking a mouse button, but does not see any immediate response due to the time required to communicate with the machine that is being controlled remotely. During this delay, the user may mistakenly imagine that their mouse action was not accepted by the system, and repeat the action. However, this will eventually result in the action being performed twice, quite contrary to the original intention.
It is of course known in conventional standalone workstations to provide some indication that the machine is processing data. For example, in the OS/2 operating system available from IBM Corporation, the cursor changes to a clock shape to indicate that the system is currently performing the requested action. Alternatively, a textual message may be displayed, again stating that the requested action is in progress.
It is also known in relation to the World Wide Web for a client terminal to retrieve information from a remote server, which provides pages of information having a predetermined HTML format. A page may contain a reference to a separate graphics file, representing an image to be included on that page. When the client retrieves such a page, it then knows to access the graphics file in order to retrieve the image. The client may request the server to provide header information first for the image, before the image itself, so that the client can determine the particular region of screen in which to locate the image. The client can then write the text for the page to the screen, leaving a box or area for the image to be filled in subsequently once the image data itself has been retrieved. This approach requires the explicit support of both the client and server, and is fundamentally driven by the client (ie receiving) terminal. It is not directly applicable to a collaborative working environment.
"Beyond the Chalkboard: Computer Support for Collaboration and Problem Solving in Meetings" by M Stefik, G Foster, D Bobrow, K Kahn, S Lanning, and L Suchman, p32-47 in Computing Practices, Communications of the ACM, Vol 30, NUmber 1, January 1987, describes a collaborative working system (although it does not mention remote control). To overcome the problem that more than one user may try to simultaneously edit a shared object, an item which one user is currently working on is greyed out. This approach requires specifically adapted applications (eg to monitor which items are being edited). However, an important objective for more recent collaborative working systems is that they should be able to work with existing (standalone) applications (for example, to provide remote control).